package com.os.config;

import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;
import org.springframework.boot.web.servlet.ErrorPage;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Component;

import java.util.concurrent.TimeUnit;

/**
 * @Author Matt
 * @Date 2022-05-15
 * @Desc: 如果当前配置类增加了配置，则默认使用配置类的配置，而不是用配置文件的信息
 * @Version V1.0
 */
@Component
public class CumServletContainer implements EmbeddedServletContainerCustomizer {
    @Override
    public void customize(ConfigurableEmbeddedServletContainer configurableEmbeddedServletContainer) {
        //配置端口号
        configurableEmbeddedServletContainer.setPort(8888);
        //配置错误页面，根据HttpStatus中的错误状态信息，直接转向错误页面，其中404.html放置在src/main/resources/static下即可
        configurableEmbeddedServletContainer.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/404.html"));
        //配置servlet容器用户会话session过期时间
        configurableEmbeddedServletContainer.setSessionTimeout(10, TimeUnit.MINUTES);
    }
}
